package com.zhijian.medical.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * @author HCG
 * @version 1.0
 * @date 2023-09-26
 */
@Data
@Api(tags = "预约会议室类")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MeetingRoomApplyVo implements Serializable {

    private static final long serialVersionUID = 2577313448183163179L;

    /**
     * 预约记录ID
     */
    @ApiModelProperty(value = "预约记录ID", hidden = true)
    private Long id;

    /**
     * 会议室ID
     */
    @ApiModelProperty("会议室ID")
    @NotNull(message = "会议室ID不能为空")
    private Long meetingRoomId;

    /**
     * 天，格式'20201111'
     */
    @ApiModelProperty("天，格式'20201111'")
    @NotNull(message = "天不能为空")
    private Integer day;

    /**
     * 预约时间段，数字的数组
     */
    @ApiModelProperty("预约时间段，数字的数组")
    @NotNull(message = "预约时间段不能为空")
    @Size(min = 1, message = "预约时间段不能为空")
    private List<Integer> hour;

    /**
     * 预约人
     */
    @ApiModelProperty("预约人")
    private String applyUserName;

    /**
     * 预约人联系方式
     */
    @ApiModelProperty("预约人联系方式")
    private String applyUserPhone;

    /**
     * 会议名称
     */
    @ApiModelProperty("会议名称")
    private String meetingName;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID", hidden = true)
    private Long userId;

    /**
     * 会议类型，1：教学讲座，2：教学病例讨论，3：教学读片
     */
    @ApiModelProperty("会议类型，1：教学讲座，2：教学病例讨论，3：教学读片")
    private Byte meetingType;

    /**
     * 带教老师
     */
    @ApiModelProperty("带教老师")
    private String teacher;

}
